Auto merge of #2370 - alexcrichton:windows-jobs, r=brson
authorbors <bors@rust-lang.org>
Thu, 11 Feb 2016 19:51:06 +0000 (19:51 +0000)
committerbors <bors@rust-lang.org>
Thu, 11 Feb 2016 19:51:06 +0000 (19:51 +0000)
commit4b7f9dfef2058f7b01ddd2888ccb305e7a4d3c02
tree3e2513ce56372991a139dc42016e1cc2d1f4a8db
parent3e285ce32317f79439b939df1d7b7b3e4268cbd8
parent5ccc842326b5a1a6dea43872ff3a63a690d9b03b
Auto merge of #2370 - alexcrichton:windows-jobs, r=brson

Currently it's somewhat surprising if you're using cargo and it's then ctrl-c'd.
The child processes that Cargo spawned are likely to still be running around in
the background as they're not killed as well, and this could cause output spew
or future build failures.

This situation is handled by default on Unix because ctrl-c will end up sending
a signal to the entire *process group*, which kills everything, but on Windows
we're not as lucky (just Cargo itself is killed). By using job objects on
Windows we can ensure that the entire tree dies instead of just the top Cargo
process.

cc #2343